import { BeanManagerCreator } from '../modules/bean-manager';
import { TodoController } from '../controllers/TodoController';
import { EventController } from '../controllers/EventController';
import { TodoStore } from '../stores/TodoStore';

// 定义应用的Bean类型映射
export type AppBeanMap = {
  todoController: TodoController;
  eventController: EventController;
  todoStore: TodoStore;
};

// 创建应用的Bean管理器
const { BeanManager, Bean, Autowired, PostConstruct, PreDestroy } = BeanManagerCreator<AppBeanMap>({
  propertyKey: '__bean_property__'
});

export { BeanManager, Bean, Autowired, PostConstruct, PreDestroy }; 